/**
 * describe:
 *
 * @author chaP
 * @date 2019/03/12
 */
package CodingTest.AC20190312;

/**
 * 题目描述
 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。
 不能使用除法。
 */
public class Multiply {
    public int[] Multiply(int[] A){
        int len = A.length;
        int []a = new int[len];
        int []b = new int[len];
        a[0] = 1;b[0] = 1;
        for(int i =1;i<len;i++){
            a[i] =a[i-1]*A[i-1];
            b[i] = b[i-1]*A[len-i];
        }
        for(int j = 0;j<len;j++){
            a[j] *=b[len-1-j];
        }
        return a;
    }

    public static void main(String[] args) {
        Multiply m = new Multiply();
        int[] A ={1,2,3,4,5};
        System.out.println(m.Multiply(A));
    }
}
